import Poster from '../../miniprogram_dist/poster/poster';
var time = require('../../utils/util.js');
var posterConfig = {
  jdConfig: {
    width: 750,
    height: 1334,
    backgroundColor: '#fff',
    debug: false,
    pixelRatio: 1,
    texts: [{
        x: 620,
        y: 70,
        baseLine: 'top',
        text: '25',
        fontSize: 70,
        color: '#ffffff',
      },
      {
        x: 530,
        y: 140,
        baseLine: 'top',
        text: '2020年5月',
        fontSize: 40,
        color: '#ffffff',
      },
      {
        x: 530,
        y: 190,
        fontSize: 42,
        baseLine: 'top',
        text: '星 · 期 · 一',
        width: 570,
        lineNum: 1,
        color: '#ffffff',
      },

      {
        x: 75,
        y: 970,
        baseLine: 'top',
        text: '择偶要求:有房,有车,男孩会体贴人,希望对方最好是开超市的',
        fontSize: 50,
        color: '#ffffff',
        lineNum: 2,
        width: 600,
        lineHeight: 60
      },

      {
        x: 255,
        y: 1160,
        baseLine: 'top',
        text: '编号:000027 24岁 未婚',
        fontSize: 35,
        color: '#ffffff',
      },
      {
        x: 389,
        y: 1275,
        baseLine: 'top',
        text: '本信息由 怀远泽婷婚恋 发布',
        fontSize: 26,
        color: '#ffffff',
      },

    ],
    images: [{
        width: 750,
        height: 1335,
        x: 0,
        y: 0,
        borderRadius: 0,
        url: 'https://qipaoxian.jspkongjian.com/moban/hongniang/1/hongniang.jpg', //整个大背景
      },
      {
        width: 520,
        height: 520,
        x: 111,
        y: 309,
        borderRadius: 0,
        url: 'https://qipaoxian.jspkongjian.com/moban/hongniang/1/zhong.jpg',
      },
      {
        width: 200,
        height: 200,
        x: 40,
        y: 1100,
        borderRadius: 0,
        url: 'https://qipaoxian.jspkongjian.com/moban/hongniang/1/qrcode.jpg',
      }
    ]

  }
}

/**生成海报结束 */
wx.cloud.init()
const db = wx.cloud.database();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    windowHeight: 600, //屏幕高度
    checkzuixin: true, //推荐-最新
    loveclass: '', //恋爱课堂
    checkpaihang: false, //推荐-排行
    id: '', //用户的唯一随机数
    info: {
      education: '学历:保密',
      family: '家庭:保密'
    }, //用户的详细信息对象
    hongniang: {}, //红娘的信息
    tuijian: [], //该红娘下的其他推荐数据
    loveclass_id: '', //恋爱课堂的id
    posterConfig: posterConfig.jdConfig,
    savepic: '', //生成海报的临时路径
    ishaibao: false, //是否显示海报的box
    iszan:false,//是否点赞过
    hongniangCount: 0, //红娘总人数
    womanCount: 0, //女人总人数
    manCount: 0, //男人总人数
  },
  onPosterSuccess(e) {
    const {
      detail
    } = e;
    // wx.previewImage({
    //   current: detail,
    //   urls: [detail]
    // })
    console.log('海报图片路径:', detail)
    this.setData({
      savepic: detail
    },res=>{
      wx.hideLoading()
    })
  },
  onPosterFail(err) {
    console.error(err);
  },
  onCreateOtherPoster() {
    let authority = wx.getStorageSync('authority')
    var that = this
    wx.showLoading({
      title: '正在生成...',
    })
    //处理二维码信息
    wx.request({
      url: 'https://qipaoxian.jspkongjian.com/moban/servlet/hongniangQrCode?id=' + that.data.info.id,
      success(res2) {
        console.log('二维码图片:', res2.data.filePath)
        posterConfig.jdConfig.images[2].url = res2.data.filePath

        //获取照片信息
        wx.cloud.getTempFileURL({
          fileList: [{
            fileID: that.data.info.image[0],
            maxAge: 60 * 60, // one hour
          }]
        }).then(res => {
          console.log('图片临时路径:', res.fileList[0].tempFileURL)
          posterConfig.jdConfig.images[1].url = res.fileList[0].tempFileURL

          //处理文字信息
          posterConfig.jdConfig.texts[0].text = time.formatTime2(new Date, 'day')
          posterConfig.jdConfig.texts[1].text = time.formatTime2(new Date, 'year') + '年' + time.formatTime2(new Date, 'month') + '月'
          posterConfig.jdConfig.texts[2].text = '星 · 期 · ' + time.getWeekDate()
          posterConfig.jdConfig.texts[3].text = '择偶要求:' + that.data.info.claim
          posterConfig.jdConfig.texts[4].text = '编号:0000' + that.data.info.id + ' ' + that.data.info.age + '岁 ' + that.data.info.marriage
          if (authority == '红娘') {
            posterConfig.jdConfig.texts[5].text = '本信息由 ' + wx.getStorageSync('admin_name') + ' 发布'
          } else if (authority == '管理员') {
            posterConfig.jdConfig.texts[5].text = '本信息由 ' + that.data.hongniang.name + ' 发布'
          } else {}

          //执行生成海报
          that.setData({
            posterConfig: posterConfig.jdConfig,
            ishaibao: true //打开海报的箱子
          }, () => {
            Poster.create(true); // 入参：true为抹掉重新生成 
          });

        }).catch(error => {
          // handle error
        })




      }
    })

  },
  closeimg: function () {
    /**关闭海报对话框 */
    this.setData({
      ishaibao: false
    })
  },
  saveimg: function () {
    /**保存海报 */
    var that =this
    //查询用户的权限设置
    wx.getSetting({
      success(res) {
        // 判断是否有保存到相册的权限
        if (!res.authSetting['scope.writePhotosAlbum']) {
          //申请相册权限
          wx.authorize({
            scope: 'scope.writePhotosAlbum',
            success() {
             //用户同意授权
              wx.saveImageToPhotosAlbum({
                filePath: that.data.savepic,
                success() {                  
                  wx.showToast({
                    title: '图片保存成功，快去分享到朋友圈吧~',
                    icon: 'none',
                    duration: 2000,
                    success(){
                      that.setData({
                        ishaibao:false
                      })
                    }
                  })
                },
                fail() {
                  wx.showToast({
                    title: '保存失败',
                    icon: 'none'
                  })
                }
              })
            },
            fail() {
              // 如果用户拒绝过或没有授权，则再次打开授权窗口              
              wx.showToast({
                title: '请设置允许访问相册',
                icon: 'none'
              })
            }
          })
        } else {
          // 有保存相册的权限 直接保存
          wx.saveImageToPhotosAlbum({
            filePath: that.data.savepic,
            success() {        
              wx.showToast({
                title: '图片保存成功，快去分享到朋友圈吧~',
                icon: 'none',
                duration: 2000,
                success(){
                  that.setData({
                    ishaibao:false
                  })
                }
              })
            },
            fail() {
              wx.showToast({
                title: '保存失败',
                icon: 'none'
              })
            }
          })
        }
      }
    })

  },
  zan:function(){
    /**用户点赞 */
     this.jishuqi(this.data.info._id,'user','zan')
     this.setData({
       iszan:!this.data.iszan
     })

  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {


    if (typeof (options.id) == "undefined") {

    } else {
      this.getData(options.id)
      this.data.id = options.id
      var that = this
      wx.getSystemInfo({
        success(res) {
          that.setData({
            windowHeight: res.windowHeight
          })
        }
      })
    }

  },
  getData: function (id) {
    /**获取用户信息,这里接收一个id全局唯一参数,注意这里不是_id */
    console.log('随机数为:', id)
    wx.showLoading({
      title: '正在加载',
    })
    db.collection('user').where({
        id: parseInt(id), //注意不是_id
        // status: true
      }).get()
      .then(res => {
        console.log('getdata:', res)
        if (res.data.length == 0) {
          wx.hideLoading()
          wx.showModal({
            title: '抱歉该用户信息未上线',
            content: '请查看其他信息',
          })
        } else {
          this.setData({
            info: res.data[0]
          }, res2 => {
            wx.hideLoading()
            this.getfabu(res.data[0]._openid) //获取发布者信息
            this.jishuqi(res.data[0]._id, 'user', 'field'); //更新浏览量
            if (res.data[0].directions.length == 0 && res.data[0].claim.length == 0) {
              this.loveclass() //要求和红娘说都为空则请求恋爱课堂
            }
            this.getPublic();//获取红娘总数
          })
        }


      })
  },
  loveclass: function () {
    /**调取恋爱课堂 */
    db.collection('loveclass').where({
        status: '恋爱课堂'
      }).get()
      .then(res => {
        console.log('恋爱课堂:', res)
        this.setData({
          loveclass: res.data[0].title,
          loveclass_id: res.data[0]._id
        }, res2 => {
          this.jishuqi(res.data[0]._id, 'loveclass', 'show_access'); //更新恋爱课堂的展示量
        })
      })
  },
  loveclassurl: function (e) {
    /**恋爱课堂的跳转链接 */
    //console.log(e.currentTarget.dataset.id)
    wx.navigateTo({
      url: '../loveclass/loveclass?id=' + e.currentTarget.dataset.id,
    })
  },
  getfabu: function (openid) {
    // 获取发布者的信息,接受一个openid
    db.collection('admin').where({
        _openid: openid
      }).get()
      .then(res => {
        console.log('发布者信息:', res)
        this.setData({
          hongniang: res.data[0]
        })
        this.getTuiJian(res.data[0]._openid, 'time') //获取推荐,传递一个红娘的openid
      })
  },
  jishuqi: function (id, form, field) {
    /**计数器,调用即可不需要返回值 */
    wx.cloud.callFunction({
      name: 'jishuqi',
      data: {
        id: id,
        form: form,
        field: field
      }
    })
  },
  getTuiJian: function (openid, paixutext) {
    /**获取更多信息接收一个红娘的openid */

    const _ = db.command
    db.collection('user').where({
        _openid: openid, //红娘的
        status: true, //状态为正常的
        id: _.neq(this.data.info.id), //过滤本用户
        sex: this.data.info.sex
      })
      .orderBy(paixutext, 'desc') //最新增加的靠前
      .field({
        id: true,
        name: true,
        age: true,
        bodyheight: true,
        bodyweight: true,
        image: true,
        marriage: true,
        claim: true,
        directions: true
      })
      .get().then(res => {
        console.log('推荐:', res)
        this.setData({
          tuijian: res.data
        })
      })

  },
  preview: function (e) {
    /**点击swiper预览图片 在不需要输入密码的时候才能展示 */
    if (this.data.info.imageispwd == false) {
      wx.previewImage({
        current: this.data.info.image[e.currentTarget.dataset.id], // 当前显示图片的http链接
        urls: this.data.info.image // 需要预览的图片http链接列表
      })
    }


  },
  url: function (e) {
    console.log(e.currentTarget.dataset.id)
    wx.navigateTo({
      url: '../userShow/userShow?id=' + e.currentTarget.dataset.id,
    })
  },
  phone: function (e) {
    /**拨打红娘电话 */
    wx.makePhoneCall({
      phoneNumber: e.currentTarget.dataset.phone
    })
  },
  formPwd: function (e) {
    var imagepwd = e.detail.value.imagepwd; //查看图片密码
    if (typeof (imagepwd) == "undefined" || imagepwd == 0) {
      wx.showToast({
        title: '密码不能为空',
        icon: 'none'
      })
      return;
    }

    db.collection('user').where({
        suiji: this.data.suiji,
        imageispwd: true,
        imagepwd: imagepwd
      }).get()
      .then(res => {
        console.log(res)
        if (res.data.length == 0) {
          wx.showToast({
            title: '密码错误',
            icon: 'none'
          })
        } else {
          let imageispwd = 'info.imageispwd'
          this.setData({
            [imageispwd]: false
          })
        }
      })

  },
  zuixin: function (e) {
    /**
     * 用户点击了最新顺序显示
     */
    this.setData({
      checkzuixin: true,
      checkpaihang: false
    })
    this.getTuiJian(this.data.hongniang._openid, 'time')
  },
  paihang: function (e) {
    /**
     * 用户点击了排行顺序显示
     */
    this.setData({
      checkzuixin: false,
      checkpaihang: true
    })
    this.getTuiJian(this.data.hongniang._openid, 'access')
  },
  getPublic: function() {
    // 获取红娘个数
    db.collection('admin').where({status:true}).count().then(res => {
      this.setData({
        hongniangCount: res.total
      })
      //先查询女生,女生查询完毕后在查询男生
      this.getSexCount('女', 0)
    })


  },
  getSexCount: function(sex, count) {
    /**查询男生或者女生的总数 */
    console.log('count:', count)
    if (count <= 1) { //用个数字判断跳出,要不然会死循环
      count = count + 1
      let sex2 = 'womanCount'
      if (sex == '男') {
        sex2 = 'manCount'
      }
      db.collection('user').where({
        sex: sex
      }).count().then(res2 => {
        console.log(sex + '生:', res2.total)
        this.setData({
          [sex2]: res2.total
        }, res => {
          this.getSexCount('男', count) //调用自身在查询男生
        })
      })
    }

  },
  wechat:function(){
    wx.showModal({
      title:'打赏请加微信',
      content:'18949371668'
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    var shareObj = {
      title: this.data.info.name + ' 的详细资料--红娘助手', // 默认是小程序的名称(可以写slogan等)
      path: '/pages/userShow/userShow?id=' + this.data.info.id, // 默认是当前页面，必须是以‘/’开头的完整路径 id为为全局编码
      //imageUrl: e.target.dataset.img //自定义图片路径，可以是本地文件路径、代码包文件路径或者网络图片路径，支持PNG及JPG，不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
    }
    return shareObj
  }
})